حافظه (RAM(Random Access Memory شناخته ترین نوع حافظه در دنیای کامپیوتر است . روش دستیابی به این نوع از حافظه ها تصادفی است . چون می توان به هر سلول حافظه مستقیما" دستیابی پیدا کرد . در مقابل حافظه هایRAM ، حافظه های(SAM(Serial Access Memory وجود دارند. حافظه هایSAM اطلاعات را در مجموعه ای از سلول های حافظه ذخیره و صرفا" امکان دستیابی به آنها بصورت ترتیبی وجود خواهد داشت. ( نظیر نوار کاست ) در صورتیکه داده مورد نظر در محل جاری نباشد هر یک از سلول های حافظه به ترتیب بررسی شده تا داده مورد نظر پیدا گردد. حافظه های SAM در مواردیکه پردازش داده ها الزاما" بصورت ترتیبی خواهد بود مفید می باشند ( نظیر حافظه موجود بر روی کارت های گرافیک ).اماداده های ذخیره شده در حافظهRAM با هر اولویت دلخواه قابل دستیابی خواهند بود.
مبانی حافظه هایRAM حافظه RAM ، یک تراشه مدار مجتمع (IC) بوده که از میلیون ها ترانزیستور و خازن تشکیل شده است .در اغلب حافظه ها با استفاده و بکارگیری یک خازن و یک ترانزیستور می توان یک سلول را ایجاد کرد. سلول فوق قادر به نگهداری یک بیت داده خواهد بود. خازن اطلاعات مربوط به بیت را که یک یا صفر است ، در خود نگهداری خواهد کرد.عملکرد ترانزیستور مشابه یک سوییچ بوده که امکان کنترل مدارات موجود بر روی تراشه حافظه را به منظور خواندن مقدار ذخیره شده در خازن یا تغییر وضعیت مربوط به آن ، فراهم می نماید. خازن مشابه یک ظرف ( سطل) بوده که قادر به نگهداری الکترون ها است . به منظور ذخیره سازی مقدار" یک" در حافظه، ظرف فوق می بایست از الکترونها پر گردد. برای ذخیره سازی مقدار صفر، می بایست ظرف فوق خالی گردد.مسئله مهم در رابطه با خازن، نشت اطلاعات است ( وجود سوراخ در ظرف ) بدین ترتیب پس از گذشت چندین میلی ثانیه یک ظرف مملو از الکترون تخلیه می گردد. بنابراین به منظور اینکه حافظه بصورت پویا اطلاعات خود را نگهداری نماید ، می بایست پردازنده یا " کنترل کننده حافظه " قبل از تخلیه شدن خازن، مکلف به شارژ مجدد آن به منظور نگهداری مقدار "یک" باشند. بدین منظور کنترل کننده حافظه اطلاعات حافظه را خوانده و مجددا" اطلاعات را بازنویسی می نماید.عملیات فوق (Refresh)، هزاران مرتبه در یک ثانیه تکرار خواهد شد.علت نامگذاریDRAM بدین دلیل است که این نوع حافظه ها مجبور به بازخوانی اطلاعات بصورت پویا خواهند بود. فرآیند تکراری " بازخوانی / بازنویسی اطلاعات" در این نوع حافظه ها باعث می شود که زمان تلف و سرعت حافظه کند گردد.
سلول های حافظه بر روی یک تراشه سیلیکون و بصورت آرائه ای مشتمل از ستون ها ( خطوط بیت ) و سطرها ( خطوط کلمات) تشکیل می گردند. نقطه تلاقی یک سطر و ستون بیانگر آدرس سلول حافظه است .
حافظه هایDRAM با ارسال یک شارژ به ستون مورد نظر باعث فعال شدن ترانزیستور در هر بیت ستون، خواهند شد.در زمان نوشتن خطوط سطر شامل وضعیتی خواهند شد که خازن می بایست به آن وضعیت تبدیل گردد. در زمان خواندنSense-amplifier ، سطح شارژ موجود در خازن را اندازه گیری می نماید. در صورتیکه سطح فوق بیش از پنجاه درصد باشد مقدار "یک" خوانده شده و در غیراینصورت مقدار "صفر" خوانده خواهد شد. مدت زمان انجام عملیات فوق بسیار کوتاه بوده و بر حسب نانوثانیه ( یک میلیاردم ثانیه ) اندازه گیری می گردد. تراشه حافظه ای که دارای سرعت 70 نانوثانیه است ، 70 نانو ثانیه طول خواهد کشید تا عملیات خواندن و بازنویسی هر سلول را انجام دهد.
سلول های حافظه در صورتیکه از روش هائی بمنظور اخذ اطلاعات موجود در سلول ها استفاده ننمایند، به تنهائی فاقد ارزش خواهند بود. بنابراین لازم است سلول های حافظه دارای یک زیرساخت کامل حمایتی از مدارات خاص دیگر باشند.مدارات فوق عملیات زیر را انجام خواهند داد : • مشخص نمودن هر سطر و ستون (انتخاب آدرس سطر و انتخاب آدرس ستون • نگهداری وضعیت بازخوانی و باز نویسی داده ها ( شمارنده ) • خواندن و برگرداندن سیگنال از یک سلول (Sense amplifier) • اعلام خبر به یک سلول که می بایست شارژ گردد یا ضرورتی به شارژ وجود ندارد ( Writeenable)
سایر عملیات مربوط به "کنترل کننده حافظه" شامل مواردی نظیر : مشخص نمودن نوع سرعت ، میزان حافظه و بررسی خطاء است .
حافظه هایSRAM دارای یک تکنولوژی کاملا" متفاوت می باشند. در این نوع از حافظه ها از فلیپ فلاپ برای ذخیره سازی هر بیت حافظه استفاده می گردد. یک فلیپ فلاپ برای یک سلول حافظه، از چهار تا شش ترانزیستور استفاده می کند . حافظه هایSRAM نیازمند بازخوانی / بازنویسی اطلاعات نخواهند بود، بنابراین سرعت این نوع از حافظه ها به مراتب از حافظه هایDRAM بیشتر است .با توجه به اینکه حافظه هایSRAM از بخش های متعددی تشکیل می گردد، فضای استفاده شده آنها بر روی یک تراشه به مراتب بیشتر از یک سلول حافظه از نوعDRAM خواهد بود. در چنین مواردی میزان حافظه بر روی یک تراشه کاهش پیدا کرده و همین امر می تواند باعث افزایش قیمت این نوع از حافظه ها گردد. بنابراین حافظه های SRAM سریع و گران و حافظه هایDRAM ارزان و کند می باشند . با توجه به موضوع فوق ، از حافظه هایSRAM به منظور افزایش سرعت پردازنده ( استفاده ازCache) و از حافظه هایDRAM برای فضای حافظهRAM در کامپیوتر استفاده می گردد.
ما ژول های حافظه تراشه های حافظه در کامییوترهای شخصی در آغاز از یک پیکربندی مبتنی برPin با نام (DIP(Dual line Package استفاده می کردند. این پیکربندی مبتنی بر پین، می توانست لحیم کاری درون حفره هائی برروی برداصلی کامپیوتر و یا اتصال به یک سوکت بوده که خود به برد اصلی لحیم شده است .همزمان با افزایش حافظه ، تعداد تراشه های مورد نیاز، فضای زیادی از برد اصلی را اشغال می کردند.از روش فوق تا زمانیکه میزان حافظه حداکثر دو مگابایت بود ، استقاده می گردید.
راه حل مشکل فوق، استقرار تراشه های حافظه بهمراه تمام عناصر و اجزای حمایتی در یک برد مدار چاپی مجزا (Printed circut Board) بود. برد فوق در ادامه با استفاده از یک نوع خاص از کانکتور ( بانک حافظه ) به برد اصلی متصل می گردید. این نوع تراشه ها اغلب از یک پیکربندیpin با نام(Small Outline J-lead ) soj استفاده می کردند . برخی از تولیدکنندگان دیگر که تعداد آنها اندک است از پیکربندی دیگری با نامThin Small Outline Package )tsop) استفاده می نمایند. تفاوت اساسی بین این نوع پین های جدید و پیکربندیDIP اولیه در این است که تراشه هایSOJ وTSOR بصورتsurface-mounted درPCB هستند. به عبارت دیگر پین ها مستقیما" به سطح برد لحیم خواهند شد . ( نه داخل حفره ها و یا سوکت ) .
تراشه ها ی حافظه از طریق کارت هائی که " ماژول " نامیده می شوند قابل دستیابی و استفاده می باشند. شاید تاکنون با مشخصات یک سیستم که میزان حافظه خود را بصورت 32 * 8 , یا 16 * 4 اعلام می نماید ، برخورده کرده باشید.اعداد فوق تعداد تراشه ها ضربدر ظرفیت هر یک از تراشه ها را که بر حسب مگابیت اندازه گیری می گردند، نشان می دهد. به منظور محاسبه ظرفیت ، می توان با تقسیم نمودن آن بر هشت میزان مگابایت را بر روی هر ماژول مشخص کرد. مثلا" یک ماژول 32 * 4 ، بدین معنی است که ماژول دارای چهار تراشه 32 مگابیتی است . با ضرب 4 در 32 عدد 128 ( مگابیت) بدست می آید . اگر عدد فوق را بر هشت تقسیم نمائیم به ظرفیت 16 مگابایت خواهیم رسید.
نوع برد و کانکتور استفاده شده در حافظه های RAM ، طی پنج سال اخیر تفاوت کرده است . نمونه های اولیه اغلب بصورت اختصاصی تولید می گردیدند . تولید کنندگان متفاوت کامپیوتر بردهای حافظه را بگونه ای طراحی می کردند که صرفا" امکان استفاده از آنان در سیستم های خاصی وجود داشت . در ادامه SIMM (Single in-line memory) مطرح گردید. این نوع از بردهای حافظه از 30 پین کانکتور استفاده کرده و طول آن حدود 3/5 اینچ و عرض آن یک اینچ بود ( یازده سانتیمتر در 2/5 سانتیمتر ) .در اغلب کامپیوترها می بایست بردهایSIMM بصورت زوج هائی که دارای ظرفیت و سرعت یکسان باشند، استفاده گردد. علت این است که پهنای گذرگاه داده بیشتر از یکSIMM است . مثلا" از دوSIMM هشت مگابایتی برای داشتن 16 مگابایت حافظه بر روی سیستم استفاده می گردد. هرSIMM قادر به ارسال هشت بیت داده در هر لحظه خواهد بود با توجه به این موضوع که گذرگاه داده شانزده بیتی است از نصف پهنای باند استفاده شده و این امر منطقی به نظر نمی آید. در ادامه بردهایSIMM بزرگتر شده و دارای ابعاد 25 / 4 * 1 شدند( 11 سانتیمتر در 2/5 سانتیمتر ) و از 72 پین برای افزایش پهنای باند و امکان افزایش حافظه تا میزان 256 مگابایت بدست آمد.